Add DOM Events support
Separate DOM protocols from implementation classes

Also add view and style protocols
Fix warnings