Various path effects related updates.
Major refactor of path effects hook. Makes life much simpler!
Merge pull request #2462 from pelson/path_effects_update

Path effects update