Prevent mousemove spam

Some platforms produce frequent mousemove events whether or not the mouse has moved. This causes the UI to always be displayed since userActive_ is always `true`. By keeping track of the last mouse position and only firing if the new position is different, we can eleminate the event spam.
Making sure that the title element gets placed into the UL element

Included are two sanity check tests for the two areas being checked
to make sure that the menu title items are being correctly placed
in the actual UL element of the menu.

Fixes #1107
Reset player on source change. closes #1050 closes #1124
Don't force sliders to get evaluated on load. closes #1122

Squashed commit of the following:

commit d5957da3b282166c882c5d81e64936dec118ecf6
Author: David LaPalomento <dlapalomento@gmail.com>
Date:   Mon Mar 31 16:22:43 2014 -0400

    Peg the volume control to 1.0 on init
    Setup styles so that the volume control initially renders at full volume. This matches browser behavior where volume is available and saves Javascript from having to manually update the volume control on init. After the initial draw, the volume control is updated dynamically the same way it was before.

commit 8bc861fb861d4126f80fd11ed17d1f550498c559
Author: David LaPalomento <dlapalomento@gmail.com>
Date:   Wed Mar 12 17:16:30 2014 -0400

    Don't force sliders to get evaluated on load
    Since the load and play progress sliders are guaranteed to start from zero, set that through CSS. Calling Slider.prototype.update forces a re-flow because element dimensions are queried and style rules changed. That reflow consistently took around 60ms on my laptop which would mean dropped frames and "jerkiness" on initialization.
Updated volume slider to use ems intead of percent for default value clarity
Merge branch 'feature/fix-menu-title' of git://github.com/coursera/video.js into coursera-feature/fix-menu-title
Adjusting menu to use title given in options
getElementsById -> getElementById

small typo fix in code that leads to error
Merge pull request #1130 from stin7/patch-1

getElementsById -> getElementById
Updated versioning to bump bower and component json files also

fixes #1123, fixes #1140
Release 4.5.2
Merge branch 'stable'

Conflicts:
	dist/video-js/video-js.css
	dist/video-js/video-js.min.css
	dist/video-js/video.js
Merge branch 'master' of github.com:videojs/video.js
Merge branch 'feature/fix-menu-title' of github.com:coursera/video.js into coursera-feature/fix-menu-title
Making sure a tech exists when starting manual progress and timeupdate events
Trigger one last timepudate when stopping manual timeupdates. fixes #1002
Merge branch 'mousespam' of github.com:download13/video.js into download13-mousespam
Merge branch 'feature/tech-error' of github.com:heff/video-js into heff-feature/tech-error
Merge branch 'feature/fix-timeupdates' of github.com:heff/video-js into heff-feature/tech-error