[edit] do not exit on error in edit mode

c/p `morse_excepthook` in `morse.blender.main` to avoid circle
dependency.

fix #456
[socket] add a publisher for DepthCamera
[socket] use base64 for VideoCamera

based on Johannes Horvath proposal for the DepthCamera
[test] use base64 image for light and camera
[builder] Cleanup a bit import mess
[builder] Add basic notion of zone
[core] Add a basic implementation of Zone and ZoneManager
[sensor/battery] Implement the charging zone behaviour

Improve the associated test to check the 'charging zone' behaviour
[core] Add an helper in Object to know in which zone(s) an object is
[sensor/battery] Use the new Object.in_zones API

While here, fix some 'algorithmic' issues
[doc] Add some basic mention of Zone
[doc] Mention zones in RELEASE_NOTES and cie
[builder] Extended significantly the Armature builder helper

In particular, it is now (rightfully) a subclass of actuator, and it supports
adding IK targets to drive specific bones.
Add support for IK in armatures

Kinematic chains can now be controlled via inverse kinematics
by placing/moving so-called IK targets that are tracked by your
armature.

A new service (Armature.place_IK_target) allows to instanteanously
place and orient an IK target, while the asynchronous service
Armature.move_IK_target allows to move at a given speed the target.

The list of IK targets available on a given armature can be obtain
with Armature.list_IK_targets.

To easily create the IK targets, the morse.builder.Armature offers the
create_IK_targets([joints]) that can be called in Builder scripts.

Note that internally, all rotations are handled as quaternions to
ease interpolation over time.

While here:
- removed the IK constraint in KUKA LWR Blend file
- added (from Python) an IK target to the KUKA LWR. Cf
  morse.builder.actuators.KukaLWR
  to see how this is done.
- updated testing/base/armature_testing
[doc] Updated RELEASE notes to mention IK targets
[doc] Mention IK-based (aka, cartesian) control of armatures