Hey Andrey-
I've been travelling and just got a chance to look at this. In general, I think the syntax is looking really good. I agree that using c() for class selectors is a good idea. It's then consistent with the HTML builder, and we can just use color() for the color parser.
From an implementation standpoint, it seems like it would make more sense to define the tag selectors (a, body, img, etc) as functions instead of instance variables on the Element class. The way it is right now, you're generating a bunch of garbage every time you make a new element. Is there an advantage to this approach that I'm missing?