any: replace class with MNMLSTC Core
Add std::hash<std::pair<std::string, std::string>>

A specialization of std::hash for a pair of strings. This allows pairs
of strings to be used as keys for std::unordered_map and other
containers.
activatables: correct const correctness
events: correct const correctness
effects: correct const correctness
effects: always return the cached parameters

Previously they returned what they got from OpenGL if possible. This was
slightly inconsistent though, as for example, textures couldn't be
returned if set with raw OpenGL (without creating a copy at least).

Just ignore what they are set to with OpenGL and return what they were
last set to with set_parameter.

This simplifies the code and the logic nicely.
effects: get_parameter<texture> – return reference

Previously returned a pointer. It would've thrown an exception anyway
if the parameter doesn't exist. Might as well return a reference then.