Enhanced build system and matrix support

I hope you don't mind me taking such excessive liberties with your initial work, but I took the ball and ran with it.  :)  Let me know what you think.