Use version as string

Version 0.20 is read as 0.2, which is less than 0.19, according to the
version comparators.  This can cause problems when chicken-install
takes decisions based on version numbers.

Although (> 0.20 0.19) => #t,  (version>=? 0.20 0.19) => #f.  However,
(version>=? "0.20" "0.19") => #t.

That's because versions are (read) by setup-api and tokenized using
`.' as separators.  If versions are numbers, they are read as numbers
then converted to strings, then parsed by the version API.  So, 0.20
is read as 0.2, converted to "0.2" and tokenized as ("0" "2").  Then,
converted back to numbers we have (0 2).  If we apply the same to
0.19, we have (> 2 19) => #f.

By using versions as strings, we have "0.20" read as a string,
tokenized as ("0" "20") and converted back to numbers as (0 20).
Thus, (> 20 19) => #t.