For those who know, context menu changes for saving images can be turned off easily in more advanced browsers like Firefox.
Easier ways to protect images can be done with mod_rewrite in Apache. Controlling referrers is easy enough, but, inline links to the same server are real hard to pickup and would involved passing some environment variables around.
Mostly, folks shouldn't put stuff on the Net that they don't consider public, pee pee pics, or not.
With regard to watermarking, imagemagick can do do all that, and the GD library, as well, but, it gets CPU intensive being done in real time.
Folks can use their image editor to watermark an image. Something as simple as a text layer on top of an image will ident stuff. You can also interlace information into images, if you wanta' prove that someone stole your image. I had a case a few years back where a professional hockey team stole an image, and because it had interlaced id information I was able to prove it to them and they were forced to remove it. (True story)
In general, using The Internet does not entitle one to bad behavior.