When rendering a single line, the bitmap height is used.
The Options state now goes back to the menu when the user presses escape.
Added a file for layout utils/helpers. Now used in the OptionsMenuState.
Added a template which calls a function once per tuple member.

It was going to be used but I don't want to implement that anymore. But
this template may come in handy in the future.
The Button now has a copy/move constructor/operator=.
onClick is now on_click. Also it no longer is implemented with signals/slots.

The function provided to on_click just overwrites a simple function
wrapper.
New widgets/helper file pair. Currently it houses a nice function to make a "back" button.
Added a basic non-functional-as-of-now multiplayer connect gamestate.
Server is now forward declared in ipc.h and included in ipc.cpp.
A Process now tracks it's running status. No Server dependency either.

LocalServer no longer creates a plugin as the interface is different
leaving rpc.cpp failing to compile. rpc.cpp is no longer being compiled.
Moved the libuv allocator (for buffers) to ipc.h.
Moved collect_lines to ipc.cpp, declaring it in ipc.h.
Added some structures that abstract external i/o.

So far we have child process i/o using the new interface.
No need to include rpc.h anymore in LocalServer.cpp.

The implementation is no longer being compiled.
Added the start of the network code.

Intentially made similar/consistent with the functions in ipc.h.
The Net_Pipe can now be initialized with a specific port and bind address.
The game loop now sleeps after every loop iteration.
Added a network-enabled implementation of the External_IO implementation.
Added a plugins ABC which the server will use.

Also, the Json_Plugin now deserializes the json that comes from some
arbitrary implementation of External_IO.