User functions

Hi,

I've made an implementation of the user functions (i.e., functions that can be defined by the user). Check the commits messages for the implementation details and limitations.

My (non intensive) testings indicate that the implementation works as expected. The only problems I faced are the auto-complete feature which tries to replace the user function arguments (because it's not aware of them), and the user function assignments which is forced to return a number value while it doesn't make sense (I forced it to return 0 most of the time). Also, I'm not used to Qt/C++ memory management, so it might be possible that I missed some memory leaks ...

Please, consider adding the changes to the official branch.

BTW, I think variables should probably be replaced by functions (with no arguments), as current variables are actually constants, so their values never changes automatically (if this is not clear, check the commits messages please).