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
This isn't adding or removing any classes to the poster that I could check. It just uses the `.video-js.vjs-audio` class on the player to keep the poster showing.
I was avoiding the computedStyle route since IE8 doesn't support it, but it looks like there's a shim on npm I could try out.