YARD friendly code generation

@jarib Specs now pass. I had to remove some attributes from generated interfaces because they overwrite some element methods. Please, review code.
I think it's better to ignore `[:text, :hash]` during generation as well, so there won't be any confusion in generated code vs what user actually see.