feat(benchmark): record gc time for each test run
perf(ChangeDetector): lazy initialize DuplicateMap

This slightly reduces number of Maps in the system.
perf(ChangeDetector): create _EvalWatchRecord#namedArgs lazily

This change reduces the number of Maps in the heap on binding heavy views by 30%.
feat(benchmark): change samples input type from range to text
feat(benchmark): improve sampling UI

 * Increase default sample from 10 to 20
 * Convert sample adjuster from range to input
 * Make sample list scrollable after 250px height
chore(benchmark): add underscorejs lib
feat(benchmark): add ability to profile memory usage per iteration
chore(benchmark): reduce code duplication with updateTimes()
chore(benchmark): remove test for generateReportPartial
feat(benchmark): add statistical functions to calculate confidence interval
feat(benchmark): add confidence and stability info to averages
feat(benchmark): calculate relative margin of error and simplify report
fix(benchmark): fix standard deviation calculation

Previous algorithm was dividing total of squares by sample length,
where it should have been dividing by sample length minus 1
feat(benchmark): add standard deviation to report
chore(benchmark): remove interpolateHtml method
chore(benchmark): remove redundant getAverages method
refactor(benchmark): move all methods/props to appropriate namespaces
fix(WatchGroup): Handle watching elements of array that were removed.

Closes #1046
feat(benchmark): calculate coefficient of variation
refactor(benchmark): reduce complexity, and move formatting of values into template