The systrace.py tool and the Javascript / HTML that goes along with it are
being checked in under the vendor/google repository for now.  This is because
the trace HTML files generated by systrace.py contain references to files that
can only be accessed on the corp network.  Ultimately these files will be
served publicly at which point this tool should move to the development
repository.  However, to enable use of the tool sooner I'm putting it here for
now.

Also, the things in the www subdirectory were forked from the Chrome tracing
tool.  This may end up getting merged upstream into either the Chromium code
base or else a separate shared project.
