new flag_points_in_polygon2d()
new ContactPlane - contact plane with polygonal boundary

- new sfepy/mechanics/contact_planes.py
- new plot_polygon(), plot_points()
speed up ContactPlane.get_distance()

- use dot product instead of frame rotation
new ContactPlaneTerm (dw_contact_plane)
fix assertion tolerance in ContactPlane.__init__()
new example demonstrating use of contact plane term

- new examples/linear_elasticity/elastic_contact_planes.py
elastic_contact_planes.py: parameterize anchor and polygon z position
add custom view for elastic_contact_planes.py example to script/gen_gallery.py
enrich syntax of term argument shapes

- update make_term_args(): support 'N' as a general number and '.: <shape>' to
  denote special values with given shape
define arg_shapes attribute of ContactPlaneTerm, update docstring
use smooth force relation in ContactPlaneTerm

- new .smooth_f()
- update .get_fargs(), docstring
update elastic_contact_planes.py for smooth contact force relation
remove unused attribute of CharacteristicFunction
new tests/test_input_elastic_contact_planes.py