Tooltip position can be set on a per-step basis by setting an element's data-position to 'top', 'right', 'bottom', or 'left.

The "arrow" was refactored into its own element for cross-browser compatibility since :before can be problematic in <= IE8. Removed the timeout for moving the tooltip, as the delay was causing the tooltip not to size properly. Added _placeTooltip method that uses targetElement, tooltipLayer, and arrowLayer as parameters, then sets the appropriate CSS styles for the tooltipLayer.
Added read me instructions. Fixed default position.

Added instructions on how to use the 'data-position' attribute to the read me. Fixed the default position of the tooltip where it wasn't placing the tooltip at the bottom position unless specified as such; it now defaults to the bottom if no data-position is set. Ran the file through javascriptlint and fixed a couple small things.
fixed: calling '.start()' before overlay fades out
externalized styles for demo so that it doesn't confuse people into thinking they are required.
formatted CSS for readability
README formatting improvements. See gist preview here before you accept pull: https://gist.github.com/jonschlinkert/68c42edb4ec2baa19bcd
Add `onexit` and `oncompete` callback
Merge pull request #23 from fedosov/seq-start-bug

fixed: calling '.start()' before overlay fades out
Merge branch 'add_position_options' of https://github.com/casiotone/intro.js into casiotone-add_position_options
Fix some coding style problem, left and top position overlap with step number + rollback readme
change example resources to non-minified version
Better if condition + next step while pressing enter
Code refactor + clean up
Fix arrow key bug in specific element mode + code refactoring
CSS improvements. formatting and externalized demo styles.
Edit, related to #37
Update README.md
Merged latest from source and removed own callback