When creating complex shapekey-based facial rigs, it's useful to blend shapekeys, however, Blender doesn't support blending proportionally. This diff adds the feature.
Demo video: http://www.youtube.com/watch?v=274Do-PULb8
A shapekey-heavy .blend file useful for testing
Changes overview
Proportional editing is tied into the transform engine, so some code from there was moved around to make at least connected-mode PE available to the 'outside world'. Two new files were added to blenlib BLI_pe.h and pe.c.
- The factor calculation part of calculatePropRatio from transform_generics.c is now BLI_pe_factor_distance in BLI_pe.h
- Connectivity distance calculation (editmesh_set_connectivity_distance from transform_conversions.c is now in bmesh_operators.c and globally visible as BM_calc_connectivity_distance in bmesh_tools.h --- not sure if this is the best place though
The changes in the transform engine code are minimal, calculatePropRatio calls BLI_pe_factor_distance now instead of calculating factors in-place.
