Implemented last window caching with a single instance of the tooltip window

Also added a failsafe on displaying empty tooltips
Cached last tooltiptext
Cleaned up the code slightly
Switched to mutable rather then ref
Merge pull request #320 from 7sharp9/186

Fix for #186