Add a proper grid view for the media tab
This matches Mastodon Web behavior and is an honest improvement over the list. It now lays out the user's media (excluding boosts) in a grid. There's 3 columns for smaller displays and 5 for those with the larger variety.
Clicking on a media attachment brings up the fullscreen image viewer, although you can't easily get to the post it's in... yet. You can also filter by tag unlike Mastodon Web.
This commit also adds a reusable TimelineView which closes #66 (closed). In later commits I'll be porting more stuff to TimelineView and expanding it's featureset.