2D canvas drawing library