solve memory leak

  - release surfaces returned by GetSurfaceLevel
  - release surfaces returned by GetRenderTarget