Path effects update

Yet again, I've created a monolithic PR trying to get to the bottom of some of the cool functionality available in mpl.

Essentially this PR re-factors the way Path Effects are hooked together with the artist's draw method. The result is that this PR is predominately a tidy-up/deletion of existing code and a few fixes to handle the fallout from the re-factor.

My intention from here is to go on and write up a "Path effects" user guide section (and add some new path effects at the same time), but I haven't yet got on to that and think it would make sense to do it in a separate PR.