use new graphics integration, add ES3 support