Simplified gray methods.

Now using unsigned ints instead of chars too.
Improved gray encoding method naming.
Using a subdir for src CMake list.
Moved gray encoding into a library!
Renamed main gray file to main.c
Even more structure!

Inspired by the SFML layout.
Added a ifndef wrapper around graylib.h