Feature: Mouse Input

This is the initial mouse input solution.  This will be more than sufficient for specific atomic mouse interactions for current test projects.

This solution will need to improve in order to have efficient per-frame mouse tracking, but is feature complete for the current milestone.

Closes #9.