Updated poster to use CSS styles to hide instead of show/hide methods. fixes #1567

- Poster will now reshow itself when a poster source is set after a non-source
- Relying on CSS instead of show/hide methods now
- Made it so empty strings would hide the poster image element
- Updated a few component methods that made it annoying to create a mock player (@dmlap)
- Refactored poster image tests
Yep, looks like we even use that: https://github.com/videojs/video.js/blob/fd181aa9cd38d019b015f36f9201811c9f069706/src/js/lib.js#L482-L492