Added mouse support.

Some applications, depend on the video backend to handle mouse cursors
(namely, hiding them and setting custom ones). Without it they crash.
It should be possible to support this in the wayland backend.

Implemented support for both system and custom cursors using shm.

Fixes Issue #3