isMousePath/Element fix and animateJQP enhancement

core.js
* isMouseInPath and isMouseInElement previously broke if the location of
  the Elroi element changed; this was a result of the element offset
  being cached. The offset is now determined dynamically using the
  getRelativeMousePosition method.
* Added stopJQP method which provides a way to stop an element and reject
  the promise generated by animateJQP.  Previously if animateJQP was used
  the promise it returned would remain in limbo if a call to stop() was
  made.