Execute leave blocks before hover blocks are executed + cleanup

* use better naming (mouse_event and element versus e for both)
* more OO way to handle hovered state (explicit methods not accessor)
Extract MouseMouveListener from SWT app file
Mouse move lsitener specs
Specs and implementation for dimensions and the off by one error for right/bottom
Positioning elements one pixel next/to last element not on the same

* e.g. do not take the rightmost pixel of an element to start a
  new element, take that + 1 - same goes for for bottom and top
* off by one errors...
* new return value for position_element to tell if we have to add
  one to either x or y when updating the current position. Best
  way I found to do this - would be cooler to update it straight
  in the position_element code but we have to wait with the update
  until after contents_alignment is called in case of a slot or so
  as this affects the height.
Fix center specs
guard weirdly seems to create a tmp/ directory fromt ime to time. Ignore it.
Use ruby notation for mouseMove - wow @jruby is AWESOME

* didn't think I could do that for methods that are called from
  the Java world
* import and include the appropriate SWT interface into the class
Get rid off unnecesssary spec in mouse_move_listener
Intention revealing constants for the positioning offsets
Merge pull request #500 from PragTob/hover_leave

Fix Leave/Hover, off by one error for element right/bottom and positioning (fixes #499)