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
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