Added dynamic cursor definitions while keeping the original enum definitions for backwards compatibility, ui subsystems and sdl. Revised the serialization system for cursors as well which is a breaking change and requires wrapping each old style cursor definition in a <variant type="VariantVector></variant>.