major changes to drawing systems

- checking visibility for polygons individually for every triangle
- entities check visibility during draw (removed is_visible)
- moved some dangling arguments to standarized my_draw_input
- map_uv_square recoded in C++ for performance
corrections to optimizations