Allow passing in `key` and `action` as either bool or an attrset.
If `false`, the option is omitted. If `true` or an attrset, the option is included.
If an attrset is used, it will update the default `mkOption` args.
This is useful for overriding `type` or adding an `example`.
This allows to avoid calling `mkRaw` on lua functions, as they will get
applied automatically.
This could also help in the future to refactor the use of Lua code to
make it more user-friendly.