Added a Canvas implementation and updated README