NumberEntry: Update layout after buttons are created
SymbolButton: Extracted SymbolRenderer::DrawSign() function
Screen/Point: Added GetCenter() method
SymbolRenderer: Simplified DrawSign() by using GetCenter() method

There is no need to calculate the center coordinates multiple times
SymbolRenderer: Added DrawArrow() function
SymbolRenderer: Applied naming convention
SymbolRenderer: Simplified DrawArrow() by using GetCenter() method

There is no need to calculate the center coordinates multiple times
DigitEntry: Use SymbolRenderer for plus and minus signs
DigitEntry: Call assert() before using the checked variables
DigitEntry: Use ButtonRenderer to draw button background for plus and minus
DigitEntry: Removed duplicate padding

The padding was already applied to the digit_size struct.
DigitEntry: Return -1 from FindEditableLeft() if function fails

This is now the same behaviour as FindEditableRight()
DigitEntry: Return -1 from FindNumberLeft() if function fails
DigitEntry: Added API documentation
DigitEntry: Fixed assert() calls in SetCursor() method

There is no need to check the *old* cursor value. If length is equal to
zero then the _cursor < length check would fail too since _cursor can't be
negative.
DigitEntry: Added CreateUnsigned() method
DigitEntry: Simplified GetFixedValue() method
DigitEntry: Simplified GetIntegerValue() method
DigitEntry: Fixed SetValue(int) for unsigned digit entry

If the value is below zero we should display zero instead of abs(value).

Since value wasn't used anymore after the assignment I'm assuming this
was the intended behavior.
DigitEntry: Removed useless assigment

The i variable is overwritten afterwards independent of the current value.