Attempt to implement type safe xs routines. 

Each slic3r class has ::CLASS() and ::CLASS_Ref() static members returning class name and class ref name.

XS typemap (O_OBJECT_SLIC3R) is used to check type when converting from perl to C++.
XS typemap with typedefs is used to return pointer [direct replacement of current code] (O_OBJECT_SLICER), pointer refecence (O_OBJECT_SLIC3R_REF), or object copy (using copy constructor) (O_OBJECT_SLIC3R_CLONE, O_OBJECT_SLIC3R_CLONEPTR)

Only BoundingBox, Point and Polygon is changed in this commit

This pull request is not meant to be merged now, it is generated for review purposes.

Is this approach viable? .. Passing wrong type is nightmare in current state, this could help .. 
Is this optimal approach? Or can I improve it?