sprintf: improve PHP compatibility (#356)
sprintf: improve PHP compatibility (#356)

- %1% should move args counter forward, where %% should not
- %0'#d should pad with # instead of 0
- unknown specifier should consume that char and return empty substring
- removed custom binary, octal and hex prefixes
- added some error handling which makes sprintf return false
- don't allow padding ints with 0's on the right side, use spaces instead
kvz/phpjs,kvz/phpjs,kvz/phpjs,kvz/phpjs