compositor: Pull prepare_render and present callouts into repaint

This dramatically simplifies the backend repaint abstractions and paves
the way for moving overlay and cursor setup into the backend.
6 files changed