Pull Range Check into its own object

In preparation for having many different element factories, the Range
Check has been pulled into its own class. This will help if I later
implement a builder pattern on the factories.
Adding CommandFactory

The CommandFactory will allow the element factory to specify commands
that are available from elements. How those commands are implemented
will be up to the command factory, thus allowing double-click,
ctrl+click, and keyboard interactions to trigger commands.

The first use of this will be jumping with pointers - a pointer can
specify that it implements a "jump" to the location in question.
Clicking the pointer will then perform that jump.