linux/threads: simplify timer code

Possibly also changes the semantics. According to the docs, it should now be
equal to the Windows code (up to accuracy issues, of course).

ping @gregory38 

This is actually more of an alternative implementation so that I can learn and find out why the current implementation is the way it is.
Euh, are you aware that m_pct_* only show a percentage of use of the current thread that means a number from 0 to 100. Beside this value is only for user to know which part they must accelerate. So I don't see the point to have a ns precision here. Besides what are the typical value of GetCpuTime and the delta of value.

```
m_pct_ee = ((clock_gettime(thread_clock).to_s * sysconf(_SC_CLK_TCK)) * 100) / (sysconf(_SC_CLK_TCK) * (gettimeofday().to_us / 1000000))
```
In short, percentage = D(thread_time) * TickFrequency/ D(cpu time us)
Note: I remove SC_CLK_TCK part.
=> D(thread_time)/ D(cpu time s) 
So thread time must be in second unit i.e. after for 1 second of thread execution the delta must be 1*SC_CLK_TCK not 1e7. 

So a correct enough implementation (only 32 bits) will be:
```
unsigned long timeJiff = ts.tv_sec*GetThreadTicksPerSecond() + (ts.tv_nsec/1e6) * GetThreadTicksPerSecond() /1e3;
```
* split 1e6 and 1e9 to avoid  an long overflow.