Cleanup.
Get rid of 'switch' statement in 'Element#attr'
Cleaner API for Element class.
Cleanup Element API.
Refactor different kinds of attributes to separate classes instead of tangling them to Element class.