Implement various `VirtualKeyboard` methods

Implements:
  VirtualKeyboard.isVisible
  VirtualKeyboard.getXPosition
  VirtualKeyboard.getYPosition
  VirtualKeyboard.getWidth
  VirtualKeyboard.getHeight
  VirtualKeyboard.setVisibilityListener

Also updates the documentation of a couple of classes
Remove superfluous console logging
Add tests for `VirtualKeyboard`
Add jpg and jpeg to the extToFormat map
Implement isVideoControlSupported native
Split audio player logic into its own class
Make the nNeedMoreDataImmediatelly message a warning instead of an error
Implement nGetContentType native
Don't try to infer the media format from the content only if contentSize is 0
Implement ImagePlayer for showing images
Implement getWidth,getHeight,setLocation,setVisible natives. Fixes #361.
Store all the global objects in a Media object to avoid polluting the namespace
Rename Player to PlayerContainer
Close player only if a player has been created
Support PNG images too
Move isVolumeControlSupported and isVideoControlSupported in the *Player classes
Add manual test for image rendering using the j2me media API
Don't fail if the player is closed before the image is added to the DOM
Add automated test that 'plays' an image
Merge branch 'master' of https://github.com/andreasgal/j2me.js into media_imageplayer