Removed macro-based stream handling, replaced with proper inheritance.
 * Something in the macros did not sit well with gcc 4.7.2 (at least).