added join type option to shape.to_outline
added function math.line_intersect
implemented math.line_intersect in shape.to_outline