AST: Kill ModuleElem interface

Subtype polymorphism doesn't really work here. For example, value
definition grammar rules are used for both module signature elements and
module elements.

Signed-off-by: Pekka Enberg <penberg@kernel.org>
Parser: Access

Signed-off-by: Pekka Enberg <penberg@kernel.org>