use generic render method.
retire PNG support, export Figure interface rather than struct.