Export

- [x] TextBlock
- [x] Button
- [ ] USMap (Kristian) ** Hook up to QueryAction onChange **
- [ ] Glyphs (Hannah) ** Hook up to QueryAction onChange **
- [x] Property Actions
- [ ] Property triggering rerenders USMap and Glyph. Requires updateUI code. (Steve?) ** Make sure to transfer any `onChange` functions for this widget from the old dataset to the new one. **
- [ ] Nested Property Actions (Steve)
- [x] Query Actions (Keith - to start)
- [ ] Actions with templating (Steve)
- [x] Events
- [ ] Google Analytics (Kristian) - ** Needs to be fully tested **
- [x] Data Source (Keith)
- [x] Data Subsets (Keith - to start)
@seanblue I believe it's because of carriage returns. Changing the replace to something like ```replace(/\r*\n\s*/g, '')``` should catch both the Linux ```\n``` and Windows ```\r\n``` with any following white-space.