Calendar view
This is an attempt to upstream our Calendar view and close #1334 (closed).
I didn't test this yet, just cherry-picked the commits from our fork and compiled it.
This includes a lot of back and forth from our side, you'll probably want this as one squashed commit?