Version 3 added to first post.
Should work with 0.9.8 and 1,0
Added "snap to intersections"
I have to say that took some sorting out and I'm not 100% with it yet.
Thanks jk, I'll have a play with the cursor idea.

I was thinking about a small form with check boxes located in the 'Plugins' menu. This would be used to enable/disable different snaps. i.e. centre, intersection, midpoint.
The main reason being that with a large file it takes time for the intersections to complete so it would be nice to disable them.
The algorithm for intersections goes like this;
If the cursor is just moving about, do nothing.
If the cursor is in an active edit mode, e.g. drawing, and it lands on top of a suitable entity (e.g. Pointlist is not suitable) then;
1. add all the suitable entities on the current active layer into a Shapelist
2. get all the intersections and add to a dictionary
3. step through the dictionary and find only the points that intersect the entity under the cursor
4. add those points to the snap list.
So it's like a dynamic method that adds the snap points 'just in time'.
I'm hoping that CamBam discards the snap points as jk described earlier otherwise they are going to mount up very quickly.
