Add dropactivate and dropdeactivate events

These events will be fired during dragstart/dragend on every dropzone the draggable would be accepted.
Fix dropzone demo

Tidy up HTML by moving CSS and JS to separate files and fix indentation levels.
Keep non conflict changes

Remove dropactivate/dropdeactivate logic but keep event bindings for the new events.
Merge remote-tracking branch 'upstream/master'

* upstream/master:
  Fix the options test
  Update tests for gesture events to be less broken
  Remove trailing whitespace
  Make a small change to avoid a jshint warning
  Fix interact.isSet
  Update 'pointerWasMoved' even with no 'prepared'
  Fix Interactable#preventDefault
  Record Touchevents in addition to PointerEvents
Merge remote-tracking branch 'remotes/upstream/master'

* remotes/upstream/master:
  Tidy and compact getDrop
  Fix a bug in the default Interactable#getRect
  Add and use the 'getDropEvents' function
  Try again to fix dynamicDrop
  Collect possible and actual drops separately
  Fix the 'dynamicDrop' setting
  Combine checks for selector and element dropzones
  Add element argument to Interactable#getRect
  Reorganise the process for getting drops
  Fix enter/leave with same draggable and dropzone

Conflicts:
	interact.js
Merge remote-tracking branch 'upstream/master'

* upstream/master:
  Add snap actions array to docs
  Add 'interact.js' and 'drag and drop' keywords
Trigger dropactivate and dropdeactivate events
Improve dropzone demo to show more scenarios

Setup dropzones with different accept options.
Highlight draggable if it can be dropped.
Add a draggable that can't be dropped.
Merge remote-tracking branch 'upstream/master'

* upstream/master:
  Pass pointer event to getDropEvents
  dropCheck argument

Conflicts:
	interact.js
Merge pull request #60 from mikekloeden/master

Add dropactivate and dropdeactivate events