refactoring & basic filters.

Basically split into several components: `Video` and `Preview`.
`Preview` can take a filter.