wayland: separate shm and cursor context

The display, window, keyboard and cursor structures are now cleanly and
logically separated. Also could prevent a future bug where no shm format is set
when the cursor image is loaded (Never happened until now).
mp_core: declare seek_type enum outside of nested struct

cosmetic change. See previous commit.
m_option: make "add speed 0.1" command work

Was broken since the speed property was switched from float to double.
Merge remote-tracking branch 'upstream/master'