Masking is really powerful in SVG in fact SVG has it's own mask element specific to this purpose.

Read more...