Enhance Makefiles to respect downstream *FLAGS

Several enhancements to the Makefiles mainly targetting downstreams
*FLAGS selection. No changes to the build in general.

* Set CC and CFLAGS only if unset (don't overwrite downstream *FLAGS)
* rename DFLAGS to CPPFLAGS which is the standard location for definitions
* Use always LDFLAGS when linking binaries
* Resorted linking to be -Wl,--as-needed compatible [1]. It needs to be
  LINKER LDFLAGS OBJECTS -o BIN

1 (http://www.gentoo.org/proj/en/qa/asneeded.xml)

Signed-off-by: Justin Lecher <jlec@gentoo.org>