add support for 'pause on hover' and fix #268 , #254, #270  

this is a new pull request to replace #269 . see detail in #269