Add experimental traversal over styles/attributes

I'm not satisfied with the API. I would prefer something like a lens or
prism into (Maybe a) but Attribute's three different flavors make it
tricky to decide on a general purpose way to construct them. I may have
to settle with providing three different improper prisms and letting the
user decide which type of attribute to construct.