Moved the framebuffer population to the monitor

This commit moves the populate_framebuffers to the monitor internals.
This was planned from the start and thus the code did not really change and
only the return values had to be changed.
Because it makes sense. You cannot put `ws_monitor_populate_fb` into a `set_select`, thus you need another function to do it for you.