Initial commit, importing the released version.

This change imports the last released version from the hub.
Adds a basic demo.

This change cleans up the code a little, and adds a basic demo.