This patch avoids creating degenerate tris while tessellating. since currently the bmesh boolean modifier doesn't properly handle zero area faces. See: T46988
Note that faces with zero area edges should probably be supported too, so in some ways this is a workaround.
Posting patch for reference since it may be worth applying just to improve the output in the common case where input geometry isn't degenerate.