Fixed the undefined references when using functions from render.h.

The functions were inline and template'd. So they needed to be in the
header file.
Cached the GameState in the main loop to prevent weird behavior.

If the game state is changed by another gamestate. The game loop needs
to know that, so it can restart the loop. The way it does this
currently, is by making another shared pointer to share ownership with
the Game class's one. This way, not only is the game state guaranteed to
stay alive, but a change can be detected by comparing it against the
Game class's current game_state.
Removed src/client/render.cpp. It's not even compiled.
Made the ball and paddle class keep long double type positions.

This way, they can move freely. When it comes time to render it'll
just truncate (or round, if we choose to do so).
Fixed the render_rect function so that it could handle double-floating point positions.
Added a bit to the readme.