Dialogs and theme switching (#226)
* Add tests so that we don't break this in the future
Fixed logic in determining which theme to use // importance parent > OS > default > omitted
added a mocking library so that we can change match media during tests easily
* remove console logs
* fix lint
* improve logic around picking a theme to make it clearer and so auto theme is truly only for auto