Added CommonMark monad.

This way we can have mutable nodes without requiring IO.