Added support for yet-unknown error codes
Removed a bunch of asserts and added some doc

Now leaving command parameter value checking to libmpv.
Fixed encoding handling to use the system's default encoding