disallow closures on generic functions (closes #2518)
[Js] rename gen_block to gen_block_element and wrap TFunction in TParenthesis (cloes #2549)
move @:forward implementation to compiler (closes #2486)