Rewrite BeatmapCarousel with ModelView implementation
Was causing BeatmapSet's Set to run *after* newer events were received.
Also fixes a lot of bad interactions and simplifies further.
oops