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.

Yeah, desktop gets the full list, Firefox OS and Android only get their own device string + 'all'.