Adjustable linear led driver? Linear, not PWM
For an "all-in-one" option, the ADB8810 looks pretty close to the kind of thing you want. If you search for "programmable current" on e.g. Analog Devices, Nat Semi, Linear Tech, TI, Maxim, etc you will probably find quite a few options like this. 

Another option would be to use a DAC (or indeed a potentiometer if no uC involved) to control an opamp with transistor set up as a current source.  

For ~1000 levels you would need 10 or more bits, so this would be pretty cheaply done.

Something like this circuit might do:





The transistor could be any NPN or MOSFET (with appropriate Vth) or darlington capable of sinking the necessary current (EDIT - as Wouter mentions the 2N2222 is not a good choice, something in a package rated for higher power e.g. a TO-220 package would be better)
Opamp should be rail to rail in/out if possible to make things easier.
The 1 ohm sense resistor can be changed to suit the current required. This was set up to output 1mA per 10mV in, so 3.5V produces 350mA (at the opamp input it is actually 1mA per 1mV, the resistor divider divides the DAC input by 10)