Huge changes

Added EncryptedWatermark support, as well as a CompositeWatermark.
Reworked the way extraction happens to support EncryptedWatermark.
Updated the demo code to show the power of the watermarking (Encrypting
a composite of a text and file watermark).