Update surface focus when a surface enters or leaves a MirSurfaceItem
+ Refactor MirSurfaceItem so that it talks to a MirSurfaceInterface instead of the concrete MirSurface class + Make MirSurface::setFocus() more robust Fixes: #1491034, #1495437 Approved by: PS Jenkins bot, Gerry Boland