Report shader errors in Direct3D 9, plug some leaks

This reports and logs errors from shaders better, and frees the warnings generated on most shader compiles.

Also frees better on shutdown, but not major.  There are still leaks left, unfortunately...

-[Unknown]