Improve how CMake finds muparser
Previously, if finding muParser failed, the target is still defined with wrong properties. Moreover, the library recognized muParser because of the header even if it was not working properly. This commit fixes those problems by guarding with a preprocessor macro and by defining the target if it's properly working.