XBlock argument passing support

@nedbat Quick review? 

This is a port of https://github.com/edx/xblock-sdk/pull/18/files

It adds a minimal XBlock (ProfileXBlock) which is helpful for manual testing of this functionality, and when we finish it, pyfs. That block is not production-ready, but I'd also like to give a demo of this XBlock internally, and this gets it onto edge.edx.org, killing two birds with one stone. 
If the js function is written to accept parameters, but the XBlock author doesn't set `json_init_args`, are we going to get a reasonable message here?