Makefile: clean up Makefile
There are a number of inconsistencies and superfluous arguments:
- For libmymemory, we don't need (or want) to hardcode a shared library
relative path
- For libmodel, we don't really need the 'soname' parameter
- Linking C++ probably should be done with the C++ compiler, not the C compiler
- We don't need CPPFLAGS for linking-only stages
- We want to use LDFLAGS for an early-stage linking rather than the late-stage
linking of the user program
Overall, simpler is better