feature(bottomSheet): add bottom sheet

This implements the bottom sheet. It has both list and grid mode.

closes #277