Added setPosition( ) API method.

Resolves #45. Code diverged quite a bit since those changes, but thanks a lot to Mason Wendell (codingdesigner) for the work.