Clean whitespaces, add some features.

* Using Dom element as the first argument of crel()
* Using Dom elements as the third argument of crel()
merged unc0's changes