Add custom cache method using callbacks

My framework has its own caching method with much more powerful techniques (like different caching methods (Memcached vs. file-based vs. database-based vs. something custom) depending on the cached data - and much more...), so I don't want less.php to create any files on its own. Less.php should use the provided cache method. Rather than implementing 100 different caching methods, simply add a powerful custom cache method using callbacks.

<code>		require_once(ZSIM_DIR.'3rdParty/less.php/Less.php');
$this->compiler = new \Less_Parser(array(
	'cache_method' => 'callback',
	'cache_callback' => array(
		'get' => array($this, 'getSingleLessFileCache'),
		'set' => array($this, 'setSingleLessFileCache')
	)
));

/* ... */

function getSingleLessFileCache(\Less_Parser $compiler, $filePath, $cacheIdentifier) {
	/* do something */
	return $rules;
}

function setSingleLessFileCache(\Less_Parser $compiler, $filePath, $cacheIdentifier, $ruleset) {
	/* do something */
}
</code>
Change README.md to describe the supported caching methods
Fix property
Split 'cache_callback' option into 'cache_callback_get' and 'cache_callback'set'
Implement custom function support
test custom functions
php5.2-compatible tests
Fix issue #124

Fix parsing multiline strings.

less.php fails to compile strings with escaped newlines, e.g.:
    content: 'This is a \
    multiline string.';
This includes `backslash + newline` to the string regex matching.
Merge pull request #125 from caiosm1005/master

Fix issue #124
Merge pull request #107 from PhrozenByte/enhancement/CustomCache

Add custom cache method using callbacks
Merge pull request #115 from nyordanov/custom-function

Implement support for custom functions
fix recursion errors. #109
clean up bug-report tests, remove symlink fixing #120
$env in lessc is an array, set options accordingly. Fixes #126
change sourceMapRootpath to sourceMapBasepath for #127
use sourceMapRootpath for better consistency with less.js. Allow paths without trailing slash. #127
getSourcesContent() needs filename for #128. Fewer calls to normalizeFilename()