Issues/427 add edit image meta *** DO NOT MERGE ***

First pass (and work in progress) for adding the ability to edit image meta data, e.g. link, caption, etc.   Ready for your feedback!! 

### Points of interest!
- Adds two new JS libraries: underscore.js and shortcode.js (from core WordPress)
- Image parsing logic was borrowed and modified from wp core in order to be as consistent as possible with existing user expectations
- Adds a WPImageMeta convenience class as a simple holder for meta values. 
- Adds a simple modal to demo the edit feature. 

### TODOs
- There is some data sanitation and safety logic that needs to be implemented.
- There are some slight differences in the logic that parses out the image, and the logic that rebuilds it. These need to be made uniform. 
- Some meta values can be derived from other meta values so the total number can likely be reduced (by at least 2)

### Questions:
What are your thoughts on the best approach to the demo form? Its as simple as possible right now. 

### Misc:
I'm sure I'm forgetting something. :) 

@SergioEstevao @bummytime @diegoreymendez 



Is this something we can should for in an `init` method?  The reason I ask is that it feels like this class only makes sense if you initialize it with a given `WPImageMeta` - in fact the code seems to be assigning the `imageMeta` right after initializing this VC.