For compatibility with Linux, it's useful to have a 64-bit tick counter.
Get us most of the way there by defining a ticksl variable that gives
the desired behaviour on 64-bit systems.
Follow a suggestion from kib to avoid having to maintain two separate
counters and to avoid converting existing code to use ticksl: use
assembler directives to make ticks and ticksl overlap such that loading
ticks gives the bottom 32 bits.
XXX-MJ tested on x86 only for now, I will add other platforms if there
are no objections to this.