Add typesafe KeyMod struct to replace using enum as a bitmask.