[Makefile]: Reworked libraries

Moved the static library that is produced during compilation to the 'libs'
folder, where it belongs.

Also added a dynamic library to the compilation outputs, and 'install' and
'uninstall' targets for it (both require root).

Signed-off-by: Sebastian Lenartowicz <slenarto@uoguelph.ca>
[Headers]: Added "overall" header

Added a header that includes all the headers in the various subdirectories
of include.

Signed-off-by: Sebastian Lenartowicz <slenarto@uoguelph.ca>
[Headers]: Reworked headers to make compilation more structured

Reworked the header structure to make compilation and linking more
structured, especially in the context of a shared library.

Signed-off-by: Sebastian Lenartowicz <slenarto@uoguelph.ca>
[Examples]: Rewrote examples to use shared library and common header

Rewrote the examples to use the shared (GAFramework.hpp) header and
library (libGAFramework.so).

Signed-off-by: Sebastian Lenartowicz <slenarto@uoguelph.ca>
[Makefile]: Cleaned up makefile

Cleaned up the makefile. Will leave the target for the static library in
for now, in case anyone wants to use it.

Signed-off-by: Sebastian Lenartowicz <slenarto@uoguelph.ca>