Add `module` directive, `modulemeta` builtin

    Fix #425.
Document module system

    Fix #511.