Don't define Surface::Type::WIN32 if WIN32 is a preprocessor macro
WIN32 can be a preprocessor macro. If it is, WIN32 can't be an enum constant. Deprecate Surface::Type::WIN32. Don't try to define it, if WIN32 is #define'd. Add Surface::Type::WIN32_SURFACE as a replacement.
See #26 (closed).