Define HAVE_MEMORY_PROTECTION is mprotect() or VirtualProtect() are available
Add an upper canary for systems without mprotect()/VirtualProtect()