make software cursors work per output
The current cursor code is pretty broken if one output has working hardware cursors and another doesn't, thus I rewrote it. Instead of a single toggle the software cursor is now checked per output
Needed for !1678 (merged) to be usable