Implement device filtering UI (bug 969244)

https://bugzilla.mozilla.org/show_bug.cgi?id=969244

**TODO**:
- [x] Unit Tests
- [x] Functional Tests
- [ ] Move some CSS rules outside of `compatibility-filtering.styl` (want to get feedback on it first)
- [x] Fix issue with arrow on Firefox OS
- [x] Desktop Screenshots
- [x] Firefox OS Screenshots
- [ ] Android Screenshots

**Screenshots (Desktop):**
![popular](https://cloud.githubusercontent.com/assets/187006/4290123/1d1c8974-3db9-11e4-92df-0b61fadee375.png)
![new](https://cloud.githubusercontent.com/assets/187006/4290121/1d1a614e-3db9-11e4-83b0-5a0c4ac9a013.png)
![category](https://cloud.githubusercontent.com/assets/187006/4290148/4b892bc8-3db9-11e4-853f-bc96780ec5f5.png)
![search](https://cloud.githubusercontent.com/assets/187006/4290122/1d1c3550-3db9-11e4-80ec-84a51c01fd50.png)
![select_focused](https://cloud.githubusercontent.com/assets/187006/4290124/1d312834-3db9-11e4-9d5d-bdf9489db3c0.png)

**Screenshots (Firefox OS):**
![firefoxos_new](https://cloud.githubusercontent.com/assets/187006/4291041/ee397b32-3dc0-11e4-8640-3261ce4de399.png)
![firefoxos_category](https://cloud.githubusercontent.com/assets/187006/4291038/ee026af2-3dc0-11e4-8fd0-44d9d277af9e.png)
![firefox_search](https://cloud.githubusercontent.com/assets/187006/4291037/edfbf410-3dc0-11e4-818f-4442c46eeda6.png)
![firefox_select_focus](https://cloud.githubusercontent.com/assets/187006/4291040/ee1e2ca6-3dc0-11e4-800f-275dff444990.png)


**Notes:**
- Styling a `<select>` is hell. But I didn't want to re-invent the wheel, so I tried to use one anyway and style it the best I could. On Android and Firefox OS, the options are rendered in some kind of native window, so it's fine, it's not great on desktop, but good enough IMHO.

Do a ```s/  /    /``` and make sure all your rules are alphabetically sorted (except for those rules that order matters).