Separate the CMake logic for Lua and Python to clearly distinguish between code specific to either scripting language and the code shared by both.
What this patch does is:
- Move Python specific code into the bindings/python subdirectory.
- Move the Lua specific code into the bindings/lua subdirectory.
- Add the _python suffix to Python specific functions/targets.
- Fix a dependency issue that would check the binding instead of whether the scripting language is enabled.