add ability to take snapshot with canvas and get image base64 encoded string