custom gesture

These changes make the updates described in issue #2.  Changes allow
consumers of library to create their own gestures and register them with
the controller, without modifying the library code.
Final edits for Issue #2

This closes all changes propsed for Issue #2.  Create pull request and
update documentation.
Merge pull request #3 from EvilClosetMonkey/custom-gestures

Custom Gesture Pull Request