Changed pointer representation to stay within pointer bitwidth
Allow pointer loads and stores with byte-level modelling, and remove cast instructions where appropriate