convert as many "enum" as possible to "enum class", and make them ": char" in the due course #5

Follow up of PR #914, #927, #935 and #936
Several enum types are "enum class" (i.e. typesafe C++ enums), several others are not.
Also making them ": char" (or whatever the minimal site might be) should reduce the size of structures using them.

Not sure we'd want to convert "enum Repeat" into an "enum class", it is used as flags, so need to overload some of the bitwise operators (using Q_DECLARE_OPERATORS_FOR_FLAGS() might ease that a lot), but even with that being done it needs a lots of casting all over the place
Also not sure whether to convert "enum TextStyleType" into an "enum class", but for different reasons (read: size and complexity).
Don't think either is worth the effort.
I think this one should be made external, so we can use something like TextStyleHidden::IN_EDITOR