added +[MgImageProvider imageProviderWithData:]
added BOX(x) macro, like @(x) but for non-integral types