Initial pass at pointsprites. Needs a lot more work.