add info logging function

This function is a weird cross between Android's Log with printf...
make log error take a tag too
make Log an object
make log error method non-static too
refactor other logging methods to be non-static
rename GetFileContents to ReadFile
rename file to io to have io related functions
use log func for shader info log errors