Allow fonts to be of floating point size
Refactor library to build shared, and use cmake

This was a big change. Let's just list off all the changes:

- Switched the build system to use cmake, to (hopefully) make it more
  cross-compatible in the future.
- Added a bunch of new libraries that we can build ourselves, in case
  they are not found on a system we want to build on.
- Make the library work on linux. This involved a couple of changes,
  mainly dealing with linux's weirder support for compilers (I have to
  force it to use a couple options that are apparently standard on a
  mac), and adding support for GLEW/OpenGL 3.1-like systems.
- Make the library build as a shared library, instead of leaving it
  header-only. This should help with many of the growing pains
  associated with re-compiling the entire library on every change. It
  also made me make sure headers were included in the correct places,
  instead of relying on them being available because they were included
  after other libraries. Oops.

I think that was it. The next few commits will likely be commits related
to making this more compatible with other projects, and bug fixes that I
unwillingly introduced.