SymbolButton: Extracted SymbolRenderer::DrawSign() function
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
CommandLine: Added -touchscreen option to force touchscreen scaling

This will force the application to assume that the device has a touchscreen
which results in larger controls in some areas.
Screen/Window: Added MoveToCenter() method
WidgetDialog: Added code comments
WidgetDialog: Initialize auto_size attribute in CreatePreliminary() method
WidgetDialog: Only Resize() dialog in AutoSize() method

AutoSize() is called by ShowModal() and has previously forced the dialog
to be at (0, 0). This patch lifts that restriction and allows the dialogs
to be positioned anywhere we like, including the screen center.
WidgetDialog: Center autosized dialogs on the screen
NumberEntry: Update layout after buttons are created
DigitEntry: Use SymbolRenderer for plus and minus signs
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: 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