complex roof improvements

I made some improvements to get a complex building rendered:
the main problem was the mix of using rooflines for some parts and the outline which should have flat roof. for this hasComplexRoof checks if the contained roof segments are actually connected and also allow with roof:lines=no to explicitly disable complex roof for building parts.
--edit: reverted the too restrictive check as my assumption was wrong. some mappers use only one ridge to emulate hipped roofs. so it seems the only way to not render those elements on vertically stacked parts is to explicitly state it.

another commit is for allowing ridge/edge segment be on the building outline (pnpoly test is not reliable in this case). This way one can easily model single sloped roofs

for the next patch: In my complex_roof branch I use poly2tri which seems to produce simpler and more reliably meshes, could we add it as option for building models?

![bremerdom](https://f.cloud.github.com/assets/1747/382397/71e4e1ea-a5f8-11e2-948d-bd646428c41d.png)
http://city.informatik.uni-bremen.de/~jeff/dom7.osm
![roof_test](https://f.cloud.github.com/assets/1747/382440/7f67004a-a5f9-11e2-8eac-7edf95271bb8.png)
http://city.informatik.uni-bremen.de/~jeff/roof_test1.osm