frames: Store vscreen in rp_frame, get rid of frames_vscreen()
Initializing screens -> vscreens -> frames had a weird process
because certain calls needed to be done after prior initialization
was done. This wasn't being done in response to xrandr changes and
the frame lists in a new screen's vscreens were not being
initialized properly.
Avoid that by storing a pointer to the vscreen in rp_frame to avoid
having to look it up dynamically with frames_vscreen(), which was
failing to find the vscreen during this initialization because the
prior lists hadn't been finished getting setup.
Since frames can't move between screens or vscreens, it shouldn't be
an issue storing a pointer in rp_frame.
Should fix #19