I would like to see you wrap the code in the do_slider function so that it returns the generated html.
You cannot control the placement of the html that the plugin generates within a page.
Example. If you enter the following in a page,
<p>Here is my cool slider</p> [ic_do_slider] <p>Do you like it?</p>
The way the plugin is generating the html, it will be inserted before the "Here is my cool slider". not between the text.
you should add all the html to a variable, then use return $html; so that WP will insert the code in the correct location.
Thanks for the code, it does a nice simple clean job.