File Profiler

Adds three new metrics per file:

- `total_time`

  The total time this file is responsible for, include time spent in children.

  This is similar to summing up the lines in a file, but more accurate because it does not double count time.

- `child_time`

  The sum of time spent in children files.

- `exclusive_time`

  The time spent in this file.

  This is usually `total_time - child_time`, but not always (e.g. `filea.rb` calls `fileb.rb` which calls `filea.rb` again).