Calculate depthmax after pruning nodes based on minwidth.

This avoids empty whitespace (sometimes lots) above the flames that's
caused by deep stacks that are too narrow to be seen.

Requires scanning the nodes twice, but that's offset by optimizations,
especially deleting the nodes that aren't going to be shown.
Add --factor option to scale the presented values.

The flamegraph processing requires the addition of many values.
Using floating-point values causes cumulative errors. These are
most noticable when --total is used because otherwise the graph
self-scales to the width.

This patch adds a --factor option that scales the presented values.
So instead of providing floating point values in the data, the data can
be provided as integers and the result scaled to suit using --factor.

p.s The problem with floats in severe enough that I'd recommend removing
support for them. Just change the regex back to \d+.
Only warn about --total being smaller if it's significantly so (e.g., not rounding etc)
Merge pull request #17 from timbunce/imageheight

Calculate depthmax after pruning nodes based on minwidth.
Merge pull request #18 from timbunce/factor2

Add --factor option to scale the presented values.