Don't use __has_include macro if it's not defined
This was found by #93.
It seems like the C++ preprocessor does not do short-circuit evaluation. Or at least it doesn't correctly recognize function-like macros when doing so.
Edited by Michael Kuron