Fixed tag CSS in Jonah???

So, as you may have noticed, tag CSS doesn't really work in Jonah - past
passages don't retain their styles when advancing to future passages.
So, I've reworked the entire tag CSS mechanism for Jonah. Instead of
swapping #tagCSS's contents every passage change, it instead adds
[data-tags] selectors to the tagged stylesheets' code, and concatenates
them all into #tagCSS at startup.

The [data-tags] selector injection process is as follows. For each
selector in a style rule:
if selector has ".passage":
change to ".passage[data-tags~=tag]"
else if selector has "body":
change to "body[data-tags~=tag]"
else prepend "body[data-tags~=tag]"
This has the following effects, given what we know about the data-tags
attribute: rules for a .passage are kept for past passages, but rules
for, say, the page background, only exist when the tag is "in the
present" - when the present passage also has that tag.

This uses the CSS parser code from
http://code.google.com/p/google-caja/source/browse/trunk/src/com/google/caja/plugin/
under Apache License 2 (which I am told is MIT compatible).

This commit renders the "transition" tag non-functional for the moment.
An upcoming commit should reinstate it.