Properly manage lib, include and example directories

The project directory should be setup very similarly to the environment
that it will install to. To achive this, the library is now built into a
lib directory, all headers associated with the library are in an include
directory and all example code is in an an examples directory.

This should be much easier to understand.