Merged UV tools part of onion
UV sculpting
============
-change behaviour of brush size so that, unlike image painting, it isn't scaled with image zoom. This makes sense for uv sculpting where you sometimes need to sculpt a bigger area, similar to 3D view.
-Fixed loading of stitch preview colours for older versions. Kept check on version 2.61 since I expect to merge then.
merge with trunk 39796
smart stitch recode:
=====================
-Implement some utility functions, #ifdef'd out, no functional changes

Recode will include:
-Operation not based on selection flags internally(This left selection dirty on undo)
-cleaner separation of stitchability testing and preview code. These are currently mixed making the code unreadable/unmaintainable.
-Will most likely separate the UVEdge generation code used in UV sculpting into its own file so that the module is reusable(by smart stitch in this case)
-Will address redoing by introducing a new dynamic RNA type
merge with trunk 40189 + some work for new stitch. I know these should be separated but unfortunately I haven't kept a separate patch, meaning I would have to do the changes again by hand.
manually add some missing files
More initialization stuff with cleaner (I hope) stitch code. Still no functionality restored, but soon the code will not rely on selection tweaking at all during operation. Also exposed generic get_uv_element function in uvedit_intern.h. Not sure whether sculpt should reference uvedit headers. Maybe should move this somewhere else? Looks like I will get appropriate feedback at merge time.
Register faces for uv vertex stitching preview. This indeed feels easier to code now. I hope the trend continues.
Add vertices for processing to stitch without selection flag changes.
Now corresponding faces belonging to other stitchable uvs are added for preview for vertex case. Also some comments and indentation corrections
Preview for stitchable/unstitchable uvs working.
More stuff to ensure each UV gets added to selection only once. Changed the user preferences stuff subversion to 2.61.0. This exposed a bug where, in uv synch mode, the theme color used for previewing verts was lost due to context switch between spaceimage and 3dview. Will rectify asap.
fix issue with theme colours not loading correctly in stitch preview during UV synch mode due to theme context switching. This was easier than I thought and strangely it is cleaner too. Makes me think why haven't I used this initially?
It's again possible to deselect a stitchable vertex even if deselecting its stitchable counterpart. Some comment corrections.
Vertex stitching simple + limited now functional. Island stitching not yet implemented.
Cleanup: remove scene from stitch_process_data since no selection data on MTFaces is checked anymore. A few comments.
Make code more bulletproof by detecting allocation failures.
Fix evil crusher bug in preview for triangles
Another evil bug squashed: Due to reshufling of UvElements on island data generation, it was possible to generate negative addresses. This led to crashes when stitching or using uv sculpting with just a part of the mesh selected(and thus accessing these negative addresses on initialization).
Resurrected snap islands for stitching uv vertices. After a thought session it may be possible to add rotation even in this mode but it will have to wait for a while. Also added some placeholder code for different behavior where one islands stays in place. Also added some properties to uvedit/uvedit_island_manager.c file though I don't think I will code through that feature.