Added a basic options menu. A new button switch has been implemented.

The button switch cycles through some options notifying client code of
changes.
The alloc function from rpc.cpp is now exposed in rpc.h.
The Button and Label now use a transparent background unconditionally.
The font renderer is now copied and moved with a label.
Added a rudimentary back button to the options menu.
New widgets folder in client/.
The Label now supports more than line.

TODO Implement some way to get information about the baseline of
renderered text. That way the lines can be arranged by the baseline of
the text and not the top of the bitmap which depends on the highest
character.
Added a Text_Box widget.
Buttons now track hotkeys that map to that button!