The line width for painting MathObjects now depends on a static variable.
This way the line width can be set to a resource value (and therefore a density independent value can be used).
Also made the bounding box calculation code for MathBinaryOperationLinear and its children simpler, more efficient and more flexible.

Signed-off-by: Mark Kamsma <mark@markkamsma.nl>
The operations in the source drawer are now displayed correctly.
In order to do so new classes have been created that represent a source for new MathObjects.

Signed-off-by: Mark Kamsma <mark@markkamsma.nl>
Removed the approximate() method from MathObject and its descendants.
It won't be necessary in the future and mixes model and view.

Signed-off-by: Mark Kamsma <mark@markkamsma.nl>
The root is now drawn and measured correctly.
Also: the centre of the divide operator is set to the centre of its operator.

Signed-off-by: Mark Kamsma <mark@markkamsma.nl>
Created icons for the buttons

Signed-off-by: Mark Kamsma <mark@markkamsma.nl>
Implemented scaling

Signed-off-by: Mark Kamsma <mark@markkamsma.nl>
Sinoids, by Ivor and Glenn.
You don't like it? deal with it