I've been experimenting with (B) a lot lately as a superior UX for the user. It makes clicking into individual views ultra-cheap since the user can always close the modal and continue scrolling with zero downtime.
While we tend to moan about modals done poorly (new Reddit), being able to deep dive on this sort of UX is something we get to do in rich clients (web clients, phone clients, desktop clients, ...) that we can't do when we're stuck rendering statelessly from the server. It's a pattern used widely in non-web clients.
Anyways, nice work. The list of features in your OP is not easy.