Explicitly cast mixing percentage to an int

There is a very occasional bug in which matlab seems to ignore int format specifiers and print in exponential notation instead (i.e. printing 'red!5.500000e+01!mycolor1' instead of 'red!55!mycolor1'). This breaks xcolor, which doesn't parse this notation. Since p*100 is a percentage in the range [0,100], it is safe to cast this to an int and guarantee that matlab will correctly output the mixed colour.
Use `round` instead of `uint8`.

More sure that `round` works properly accross platforms and versions
than `uint8`.
Merge branch 'theswitch-patch-1'