Reimplementing zephir strings using type restricted zvals [ci skip]