update jquery and d3
remove bootstrap
add Immutable-js and lodash libraries
remove jinja2 dependency
simplify URL and handlers situation, new stats module

Also use Tornado for templating.
intermediate commit of client development

So far: Right now it'll make a visualization with highlighting
and a tooltip, but no zooming.

snakeviz.js:

  - function for finding the root of the function call stack
  - function for building a JSON tree for use with D3's partition
    - still needs to handle recursion
remove loading graphic related JS
Zooming seems to work okay

Problems:

- Sizes are wrong. This is because I'm calculating the size based
  on the total cumulative time for a function, not the cumulative time
  below a given function.
- Need to remove directories from file names.
Normalize overly large children sets

There are times when children have calculated sizes larger than
their parent (because with the profiling information we have it is
hard to untangle just how much cumulative time of a program was spent
in a given tree). When this happens I don't do anything fancy,
only normalize the children's sizes so they exactly fit within the parent.
figure out parent name when zooming
disable reset button when zoomed all the way out
don't display recursion
add snakeviz text and style the reset button
add select for controlling depth of viz
remove unused scale functions
scale rings linearly
only apply centering to the sunburst
label the depth select
Fixing some display errors

- Internal-time children larger than their parents
- Random floating arcs
- Tool-tip text overflowing the tooltip brackground
remove directories from displayed file names