ButtonGroup value can be any type, and if unset is also the text

Summary: I didn't actually test this because my Perseus is broken atm (missing underscore?), but as a separate thing, we definitely need tests, because this would have shown an error for some of my current uses of ButtonGroup.

Test Plan: yet to test

Reviewers: justinjaffray

Differential Revision: http://phabricator.khanacademy.org/D8129