[in progress] Rewrite of polygon fill algorithm and ImagingDrawWideLine

This PR is **not finished**, do not merge!! Its purpose is just to obtain feedback.

The functions `polygon_8|32|32argb` don't draw consistent polygons, as can be seen in issues #367 and #463; this is an attempt to solve this problem.

Those functions are now refactored into one function, `polygon_generic`, to remove duplicated logic code (see deecd8a137c1481504fa48bcf41566e51eb5100a).
`polygon_generic` draw polygons using the scanline algorithm, the old implementation were the origin of most of the problems and has been rewrited, and while the new implementation it's not technically correct (e.g. it doesn't takes advantage of edge coherency) and have some known bugs (more on this later), it generates more consistent polygons (see cd332fc38a2320207153b73d5fecedee135adb8b).


Sorry, it's very late, tomorrow will complete this description.