enable c++ support

cmake build system allows choosing this
on msvc it's automatically enabled depending on the compiler version (msvc2012 or higher)
AlphaMode is now typesafe
Image::draw can now be called with variable types of arguments