gl: define core functions as external

This seems like a hack.  when compiled with both evasgl and egl/glesv2,
evasgl is designed such that one cannot include glesv2 headers.  The
work around is declare these functions as external.