VBoxLayout: Fix a few calc errs relating to spacing

* See previous commit file examples/gui.cpp for changes that were
intended to go with this.
Fix MSVCPP compile errs

* Include missing header file for std::unique_ptr, std::shared_ptr.
* Could not initialize static array in constructor.
Size2: Introduce addition & subtraction operator overloads

* Color4: Introduce widget focus border colors.

* gui_config.hpp: Move Alignment enum back into nom namespace --
out of priv.
More clean up work on layout interface

(Initialize class members at construction time, clean up old code, etc).

* UIWidgetLayoutItem: Implement widget item alignment.
Rectangle: Set the renderering blend mode to SDL_BLENDMODE_BLEND

(This allows us to alpha blend colors by modifying their alpha
component).