add multi byte support for split function

This adds multibyte character support for the spilt function.
For example:
"éÄ,éÄ,Ä,Ä,Ä,Ä,Ä,Äほ"|split(',', 3)
Into:
Array
  0 =>éÄ
  1 =>éÄ
  2 =>Ä,Ä,Ä,Ä,Ä,Äほ

And {% set foo = "éÄéÄÄ"|split('', 3) %}
Into:
Array
  0 =>éÄé
  1 =>ÄÄ
  

And added tests for this.
all parts of the test requiring mbstring should be in a separate test, because marking as skipped is related to the whole test, while your current code has assertions which can be checked without mbstring