Added layout logic to component creation

The rules are:
- Only one full-width component per block
- If a component is added to the left, the next one can only go on the
  right and vice versa.
Merge branch 'json-edit' of github.com:adaptlearning/adapt_authoring into json-edit