Add lua as a build dependency
lua : add debug domain
lua : initialisation code, loading libraries
lua : add wrappers to call lua from DT

these function allow to load a file or a string, call it as a lua content and treat errors correctly
lua : add DT specific location to module search path

* add $(DATADIR)/lua/*.lua
* add $(USER_DATADIR)/lua/*.lua
lua : run scripts on startup

* first run $(DATADIR)/rc.lua
* then run $(USER_DATADIR)/rc.lua

an empty rc.lua is also installed in $(DATADIR) to avoid an error on
startup

tmp : to squash
lua : add dt specific prints callable from lua

* darktable.print : prints to the control log
* darktable.print_error : print to the lua logdomain
lua : add darktable.configuration

this table contains static data about the current DT instance

* path to the temporary directory
* path to the config directory
* path to the cache directory
* dartktable version string
* if the lua logdomain is active or not
lua : add lua preferences

adds three function to the API

* darktable.preferences.register(script,name,type,label,tooltip,default,[min,max])
  creates a new preference entry in the lua tab of pre
  script : invisible prefix to guarentee unicity of preferences
  name : the name of the preference to display
  type : one of "string" "bool" "integer"
  tooltip : the tooltip to display
  default : default value
  min : (int only) minimum value
  max : (int only) maximum value

* darktable.preferences.read(script,name,type) : value
  reads a value from a lua preference
  script : an invisible prefix
  name : name of the preference to read
  type : the type of the preference to read
  returns : the value of the preference

* darktable.preferences.write(script,name,type,value)
  writes a value to a lua preference
  script : an invisible prefix
  name : name of the preference to set
  type : type of the preference
  value : value to set