Cleaning cmake files for windows.

Also modified cmake file to copy the pythonapi unittest dir to the install location.  This make it easier for users to try this out.
Update README.md
Update README.md
Update README.md
Update README.md
Update README.md
Some CMakeList changes for the pythonapi.
Small change to the NodeHub api.

Made the NodeHub class use a more derived NodeDrawable instead of drawable.
Rest of the changes are repercussions from this change.
Restructuring the node graph related directories.

Node graph related directories have been moved into the NodeGraph directory.
The follows moves were perform.
- the nodegraph dir has moved to nodegraph/entities
- the drawablenodegraph dir has moved to nodegraph/drawables
- the hub dir has moved to nodegraph/hubs
- the compositeshapes dir has moved to nodegraph/shapes

The shared libraries will also now have NodeGraph_ prepended to them.
The rest of the changes in this commit deal with modifying the includes
to include from the right location.
Renaming the pythonapi dir to pyopenshapes.

The pythonapi shared library has also changed to pyopenshapes.
This can be imported in python as "import pyopenshapes".
device, geometry and shape dir refactoring.

Moved Transform, Quad, and Viewport classes into device/geometry.
Moved shape related classes into shapes dir.
The previous geometry dir was moved into shapes/drawer and shapes/unpackedshapes.
The previous shapes dir was moved into shapes/packedshapes.
Moved verify.h to the utils dir.
Moved verify.h from globals to utils.

The globals dir was also removed.
Moving all os native guis into the gui directory.
Moving shaders and fonts into a new resources directory.

Also did refactored some get_env call sites to call get_app_file instead.
Renameing get_app_file to get_app_path in the utils module.
Splitting out the GeoBundle class into UnpackedShape and UnpackedShapeManager.

This is the beginning of a bigger refactor where will have a concept of
packed and unpacked shapes. Packed shapes are like the parameters which specify how a shape looks.
Unpacked shapes represent the actual vertices and vertex indices of the shape, ready
for uploading to the gpu.  This is similar to packed and unpacked textures or buffers.
Renaming shape.h to packedshape.h.
New paradigm of packed and unpacked shapes.

Refactored the shapes drawing paradigm.
Shapes are now unpacked to a system buffer, and then loaded to device memory.
Shapes are defined by properties which define the shape, like radius for circles and min and max for rectangles.
Unpacked shapes are made up of vertex attributes. They are in a format ready for loading to the device.
The unpacked shapes are now managed by the ShapeBuffer.
The unpacked text shapes are now managed by the TextBuffer.
After the ShapeBuffer and TextBuffer load the device memory, the buffers in device memory will get used by the ShapePipeline.
The ShapePipeline is similar in spirit to the Device::Pipeline, which sets up the OpenGL programmable pipeline.
Added todo note to refactor the TextBuffer/ShapeBuffer in a OpenGL part and a System part.