Use a 'count leading' function in 2 sources that use it. Create a Math.h to store math utils.

There are quite a few other functions that could be placed in to this new util file. Hopefully it gets some love.

If we are concerned about performance on Windows, we should probably use the lzcnt intrinsic but it is difficult to explain (too many comments) how it turns in to BSR on CPUs that don't support it and apparently it won't get accepted anyway.
????? You realise that this is an optimisation pragma, right? It specifies to use the intrinsic version instead of the function version (there is no function version of _BitScanReverse)