Programmable filter can add dimensions to context

Using one or more `add_dimension` options on a programmable filter will
instruct the filter to add those dimensions to the primary
PointContext. This way, the programmable filter can set dimensions that
might be present on the PointContext.