Fixes and workarounds for Visual Studio C++
This merge-request is based on !21 (closed), and add the possibility to compile dtk-core with MSVC version 2019. MSVC is not as good a compiler as gcc or clang, and workarounds have to be used, usually to make it parse the C++ code itself. In particular, MSVC name lookup is notably bad.
The specific merge-request about MSVC, in addition to !1 (merged), can be found at lrineau/dtk-core!1 (closed).
Cc: @maxGimeno @xxiao