Similar to other implementations, use our own html directory

This is just to make diffs easier.
Use the same ServeHTTP method instead of rolling our own
Begin framework for profiling other things