First pass at analytic events

@dsego - take a look at this - I think it meets the need for XBlock events