However, I can't call stream.begin(4800) in my library because Stream doesn't have such a begin method, and the two serial classes don't have a common superclass or interface that defines a begin method.
Alternative to avenue33's suggestion, what I did with my phi_interfaces library is to REQUIRE a Stream object that has already begun. There is no standard method to begin or end a serial port or I2C interface under Stream. The user will do the begin of whatever port and pass your library the address to the Stream object that has begun
