ScreenPool as the source of truth of QScreen info
index desktop views by qscreen instead of id, making ScreenPool the single source of truth for the mapping between screen names and ids. This is less error prone and easier to consistency check (if view->screenToFollow() is ever different to its has key it will assert) and easier point of start to move the whole screen logic in screenpool (primary screen added and removed signals and so on)
Edited by Marco Martin