Dynamic memory allocation - how is it supported?

Do some googling. There is a simple change you can make to print.h that will make printf available for ANY class that inherits from print. That's the one I use. There are several other methods available as well, each with their own pros and cons. Somewhere on arduino.cc is a page that lays out all the options.