Return string "<UNDEFINED>" for JS undefined

This makes debugging easier.

Signed-off-by: Jiří Janoušek <janousek.jiri@gmail.com>
Use PlayerAction and PlaybackState enums in Player

Signed-off-by: Jiří Janoušek <janousek.jiri@gmail.com>
Use BrowserAction enum

Signed-off-by: Jiří Janoušek <janousek.jiri@gmail.com>
Use Nuvola.MediaKey enum for media key values

Signed-off-by: Jiří Janoušek <janousek.jiri@gmail.com>
Use class/prototype-based JavaScript objects

Signed-off-by: Jiří Janoušek <janousek.jiri@gmail.com>