function attachListener(ev, fxn, ctx) {
  // LM removing, not sure why we had this?
  // var _this = ctx;
  // var f = function (e) { fxn(e, _this); };
  var f = fxn.bind(ctx);
  ctx.elt.addEventListener(ev, f, false);
  ctx._events[ev] = f;
}
Thin wrapper around a renderer, to be used for creating a
graphics buffer object. Use this class if you need
to draw into an off-screen graphics buffer. The two parameters define the
width and height in pixels. The fields and methods for this class are
extensive, but mirror the normal drawing API for p5.

@class p5.Graphics
@constructor
@extends p5.Element
@param {Number} w            width
@param {Number} h            height
@param {Constant} renderer   the renderer to use, either P2D or WEBGL
@param {p5} [pInst]          pointer to p5 instance