Fix unlikely case in DrawPixels().

If linesize doesn't match, also use convBuf.
Avoid getting stuck with a bad tex framebuffer.
Make sure we recheck a fb tex that didn't match.
Generate a texture name even for fbo textures.

Otherwise, when it stops being a render-to-texture, we won't have a
texture name and we'll get confused.  A texture name shouldn't be
expensive to generate in this case anyway.
Merge pull request #4274 from unknownbrackets/fb-minor

Detach framebuffers when texcache match fails, properly