backends/x11: Provide a cursor per output
The main motivation behind this change is to allow setting the cursor per output, which eases up implementing things such as cursor output layers.
It also has another advantage - output related code is more encapsulated. Furthermore, we could decouple output backends from Cursor.