Fix broken libmpv property/option functions

With changes around native property formats, libmpv's property functions are totally broken.
I think most of them are just oversights when change functionalities.
The order of next list corresponds to display order of file changes in github.

1. Cannot set property with native format: after fix 3., mpv_set_property always returns error. I found asymmetry between M_PROPERTY_SET_NODE/M_PROPERTY_GET_NODE and made a fix.
2. Cannot set option after initialized: it seems that this bug has existed since libmpv was introduced first. Maybe just a typo.
3. Crash when set property with native format: mpv_set_property just causes crash when native format is used. I found an invalid casting and fixed it.
4. Wrong error value for mpv_get_property: when an error occurred, mpv_get_property always returns wrong format error because every error for property except M_PROPERTY_NOT_IMPLEMENTED is just ignored.