Custom Texture expression function

The call to the functions looks something like this:
texture("path/to/texture.png", $u, $v) where $u and $v
can be replaced by any other variable.

Signed-off-by: Marius Avram <marius.avram1309@gmail.com>
We need a thread local cache of expressions.
It's totally doable, but right now it will add unneeded complexity.
When we have a correct, working implementation, we plan to optimize it, 
comparing to the single threaded, correct implementation we are doing now.