ogl: optimize real xfb a bit

Both nvidia + mesa seems not to optimize x / (2**n) to x >> n, so we do it ourself.
merge common parts of encoding shaders
MathUtil: Change Log2 return value to int

Log2(u64) can't be bigger than 63, so there is no need in forcing a 64 bit value.
So just using a common int seems more natural.
TextureConverter: Use Log2() and shifts instead of multiplications/divisions
Rewrite texture tiling implementation

inline halfxb

So we know which is the first pixel by masking.

inline xl

inline xb a bit

inline yl

inline uv1.x shift

remove likely wrong guessed ternary operator

add pixel layout comment

inline xel

optimize the shifts a bit

inline xb

optimize shifts in a second step

extract xb

rename all variables

calculate cache line by position.x

Revert 5115b459f40d53044cd7a858f52e6e876e1211b4 "optimize the shifts a bit"

It seems I was wrong, the other way is the more natural.

use x_virtual_position instead of uv1.x for x_offset_in_block

This looks more natural and the offset should be masked anyway.

substitude factor with cache_lines

move 32bit logic in a conditional block
calculate constant values on shader compilation
Merge duplicate parts of sampler into header
remove (ATTR|VARY)(IN|OUT) macros
comment fixes
Merge pull request #108 from degasus/GLSLUtilShader

GLSL utility shader optimization