Refactor CMake build scripts.

Changes:
- Avoid globbing engine source files twice.
- Setup folder group for VS and Xcode. Also group object files according to 3rd-party library name.
- New define_source_files() macro.