Scaling diagram fix, encapsulation work

Reworked the drawing of the graph to look proper when using non-integer
displayScale values (higher than 1).

The diagram and probability drawing are no longer using the constants
but rely on input parameters, a first step to encapsulating things for
reusability (like drawing two graphs in the same diagram).

An override for the highest y axis value has also been added.
More control over graph filling

You now have the choice to just use a line plot instead of coloring the
entire area under the graph. The code also works much better with
non-integer values of displayScale.