use webgl when supported