change hide to hidden and show to visible

for these types of class names, i think it's always better to go with the adjective version instead of the verb or noun. it lets you know they are modifiers. (makes them easily distinguishable from the noun component classes themselves, without have to do the ugly BEM stuff). that's also grounded in the fact that HTML itself uses adjective attributes for these things, like `hidden disabled etc.`

i feel like we should have a `data-class-*` binding