Interpolate snapping/resticting with the `endOnly` option when inertia isn't triggered

If inertia is enabled on an Interactable, snap/restrict has the `endOnly` set to true and snap/restict occurs when the pointer is release without triggering inertia, then the event coordinates will be animated from the release location to the snapped/restricted location.

```javascript
interact('*')
  .inertia()
  .snap({mode: ..., endOnly: true})
  .restrict({drag: {...}, endOnly: true});
```

The duration of the animation can be set with

```javascript
interact('*').inertia({
  smoothEndDuration: 300 //  the duration in ms
})
```

Closes #48